#FILE D'ESEMPIO PER LA DEFINIZIONE DEL FUZZY SYSTEM

#definizione degli insiemi fuzzy dell'angolo (gradi)
set a_pl  80.0    40.0  70.0  90.0  90.0
set a_pm  37.5    15.0  37.5  37.5  60.0
set a_ps  12.5     0.0   5.0  20.0  25.0
set a_ze   0.0   -10.0   0.0   0.0  10.0
set a_ns -12.5   -25.0 -20.0  -5.0   0.0
set a_nm -37.5   -60.0 -37.5 -37.5 -15.0
set a_nl -80.0   -90.0 -90.0 -70.0 -40.0

#definizione degli insiemi fuzzy della velocita' angolare (rad/sec)
set s_pl   5.0     2.0   4.0   6.0   6.0
set s_pm   2.0     1.0   2.0   2.0   3.0
set s_ps   1.0     0.0   1.0   1.0   2.0
set s_ze   0.0    -1.0   0.0   0.0   1.0
set s_ns  -1.0    -2.0  -1.0  -1.0   0.0
set s_nm  -2.0    -3.0  -2.0  -2.0  -1.0
set s_nl  -5.0    -6.0  -6.0  -4.0  -2.0

#definizione degli insiemi fuzzy della posizione (metri)
set x_pl   2.4     1.0   1.2   2.4   2.4
set x_pm   0.6     0.0   0.2   1.0   1.2
set x_ze     0    -0.2   0.0   0.0   0.2
set x_nm  -0.6    -1.2  -1.0  -0.2   0.0
set x_nl  -2.4    -2.4  -2.4  -1.2  -1.0

#definizione degli insiemi fuzzy della forza (Newton)
set f_pl  30.0   10.0  30.0  30.0  30.0
set f_ps  10.0    0.0  10.0  10.0  20.0
set f_ze   0.0   -3.0   0.0   0.0   3.0
set f_ns -10.0  -20.0 -10.0 -10.0   0.0
set f_nl -30.0  -30.0 -30.0 -30.0 -10.0

# definizione delle regole per x_pl
#      | a_nl | a_nm | a_ns | a_ze | a_ps | a_pm | a_pl
# -----+------+------+------+------+------+------+------
# s_pl |      |      |      | f_pl |      |      |
# -----+------+------+------+------+------+------+------
# s_pm |      | f_nl |      | f_ps |      | f_pl |
# -----+------+------+------+------+------+------+------
# s_ps |      |      | f_ze | f_ps | f_ps |      |
# -----+------+------+------+------+------+------+------
# s_ze | f_nl | f_nl | f_ze | f_ze | f_ps | f_pl | f_pl
# -----+------+------+------+------+------+------+------
# s_ns |      |      | f_ze | f_ze | f_ps |      |
# -----+------+------+------+------+------+------+------
# s_nm |      | f_nl |      | f_ze |      | f_pl |
# -----+------+------+------+------+------+------+------
# s_nl |      |      |      | f_ze |      |      |
# -----+------+------+------+------+------+------+------
rule  a_ze s_pl x_pl f_pl
rule  a_ze s_pm x_pl f_ps
rule  a_ze s_ps x_pl f_ps
rule  a_ze s_ze x_pl f_ze
rule  a_ze s_ns x_pl f_ze
rule  a_ze s_nm x_pl f_ze
rule  a_ze s_nl x_pl f_ze

rule  a_nl s_ze x_pl f_nl
rule  a_nm s_ze x_pl f_nl
rule  a_ns s_ze x_pl f_ze
rule  a_ps s_ze x_pl f_ps
rule  a_pm s_ze x_pl f_pl
rule  a_pl s_ze x_pl f_pl

rule  a_nm s_pm x_pl f_nl
rule  a_nm s_nm x_pl f_nl
rule  a_pm s_pm x_pl f_pl
rule  a_pm s_nm x_pl f_pl

rule  a_ns s_ns x_pl f_ze
rule  a_ns s_ps x_pl f_ze
rule  a_ps s_ns x_pl f_ps
rule  a_ps s_ps x_pl f_ps

# definizione delle regole per x_pm
#      | a_nl | a_nm | a_ns | a_ze | a_ps | a_pm | a_pl
# -----+------+------+------+------+------+------+------
# s_pl |      |      |      | f_pl |      |      |
# -----+------+------+------+------+------+------+------
# s_pm |      | f_nl |      | f_ps |      | f_pl |
# -----+------+------+------+------+------+------+------
# s_ps |      |      | f_ze | f_ps | f_ps |      |
# -----+------+------+------+------+------+------+------
# s_ze | f_nl | f_nl | f_ze | f_ze | f_ps | f_pl | f_pl
# -----+------+------+------+------+------+------+------
# s_ns |      |      | f_ze | f_ze | f_ps |      |
# -----+------+------+------+------+------+------+------
# s_nm |      | f_nl |      | f_ze |      | f_pl |
# -----+------+------+------+------+------+------+------
# s_nl |      |      |      | f_ze |      |      |
# -----+------+------+------+------+------+------+------
rule  a_ze s_pl x_pm f_pl
rule  a_ze s_pm x_pm f_ps
rule  a_ze s_ps x_pm f_ps
rule  a_ze s_ze x_pm f_ze
rule  a_ze s_ns x_pm f_ze
rule  a_ze s_nm x_pm f_ze
rule  a_ze s_nl x_pm f_ze

rule  a_nl s_ze x_pm f_nl
rule  a_nm s_ze x_pm f_nl
rule  a_ns s_ze x_pm f_ze
rule  a_ps s_ze x_pm f_ps
rule  a_pm s_ze x_pm f_pl
rule  a_pl s_ze x_pm f_pl

rule  a_nm s_pm x_pm f_nl
rule  a_nm s_nm x_pm f_nl
rule  a_pm s_pm x_pm f_pl
rule  a_pm s_nm x_pm f_pl

rule  a_ns s_ps x_pm f_ze
rule  a_ns s_ns x_pm f_ze
rule  a_ps s_ps x_pm f_ps
rule  a_ps s_ns x_pm f_ps


# definizione delle regole per x_ze
#      | a_nl | a_nm | a_ns | a_ze | a_ps | a_pm | a_pl
# -----+------+------+------+------+------+------+------
# s_pl |      |      |      | f_pl |      |      |
# -----+------+------+------+------+------+------+------
# s_pm |      | f_nl |      | f_ps |      | f_pl |
# -----+------+------+------+------+------+------+------
# s_ps |      |      | f_ns | f_ps | f_ps |      |
# -----+------+------+------+------+------+------+------
# s_ze | f_nl | f_nl | f_ns | f_ze | f_ps | f_pl | f_pl
# -----+------+------+------+------+------+------+------
# s_ns |      |      | f_ns | f_ns | f_ps |      |
# -----+------+------+------+------+------+------+------
# s_nm |      | f_nl |      | f_ns |      | f_pl |
# -----+------+------+------+------+------+------+------
# s_nl |      |      |      | f_nl |      |      |
# -----+------+------+------+------+------+------+------
rule  a_ze s_pl x_ze f_pl
rule  a_ze s_pm x_ze f_ps
rule  a_ze s_ps x_ze f_ps
rule  a_ze s_ze x_ze f_ze
rule  a_ze s_ns x_ze f_ns
rule  a_ze s_nm x_ze f_ns
rule  a_ze s_nl x_ze f_nl

rule  a_nl s_ze x_ze f_nl
rule  a_nm s_ze x_ze f_nl
rule  a_ns s_ze x_ze f_ns
rule  a_ps s_ze x_ze f_ps
rule  a_pm s_ze x_ze f_pl
rule  a_pl s_ze x_ze f_pl

rule  a_nm s_pm x_ze f_nl
rule  a_nm s_nm x_ze f_nl
rule  a_pm s_pm x_ze f_pl
rule  a_pm s_nm x_ze f_pl

rule  a_ns s_ps x_ze f_ns
rule  a_ns s_ns x_ze f_ns
rule  a_ps s_ps x_ze f_ps
rule  a_ps s_ns x_ze f_ps

#definizione delle regole per x_nm
#      | a_nl | a_nm | a_ns | a_ze | a_ps | a_pm | a_pl
# -----+------+------+------+------+------+------+------
# s_pl |      |      |      | f_ze |      |      |
# -----+------+------+------+------+------+------+------
# s_pm |      | f_nl |      | f_ze |      | f_pl |
# -----+------+------+------+------+------+------+------
# s_ps |      |      | f_ns | f_ze | f_ze |      |
# -----+------+------+------+------+------+------+------
# s_ze | f_nl | f_nl | f_ns | f_ze | f_ze | f_pl | f_pl
# -----+------+------+------+------+------+------+------
# s_ns |      |      | f_ns | f_ns | f_ze |      |
# -----+------+------+------+------+------+------+------
# s_nm |      | f_nl |      | f_ns |      | f_pl |
# -----+------+------+------+------+------+------+------
# s_nl |      |      |      | f_nl |      |      |
# -----+------+------+------+------+------+------+------
rule  a_ze s_pl x_nm f_ze
rule  a_ze s_pm x_nm f_ze
rule  a_ze s_ps x_nm f_ze
rule  a_ze s_ze x_nm f_ze
rule  a_ze s_ns x_nm f_ns
rule  a_ze s_nm x_nm f_ns
rule  a_ze s_nl x_nm f_nl

rule  a_nl s_ze x_nm f_nl
rule  a_nm s_ze x_nm f_nl
rule  a_ns s_ze x_nm f_ns
rule  a_ps s_ze x_nm f_ze
rule  a_pm s_ze x_nm f_pl
rule  a_pl s_ze x_nm f_pl

rule  a_nm s_pm x_nm f_nl
rule  a_nm s_nm x_nm f_nl
rule  a_pm s_pm x_nm f_pl
rule  a_pm s_nm x_nm f_pl

rule  a_ns s_ps x_nm f_ns
rule  a_ns s_ns x_nm f_ns
rule  a_ps s_ps x_nm f_ze
rule  a_ps s_ns x_nm f_ze

#definizione delle regole per x_nl
#      | a_nl | a_nm | a_ns | a_ze | a_ps | a_pm | a_pl
# -----+------+------+------+------+------+------+------
# s_pl |      |      |      | f_ze |      |      |
# -----+------+------+------+------+------+------+------
# s_pm |      | f_nl |      | f_ze |      | f_pl |
# -----+------+------+------+------+------+------+------
# s_ps |      |      | f_ns | f_ze | f_ze |      |
# -----+------+------+------+------+------+------+------
# s_ze | f_nl | f_nl | f_ns | f_ze | f_ze | f_pl | f_pl
# -----+------+------+------+------+------+------+------
# s_ns |      |      | f_ns | f_ns | f_ze |      |
# -----+------+------+------+------+------+------+------
# s_nm |      | f_nl |      | f_ns |      | f_pl |
# -----+------+------+------+------+------+------+------
# s_nl |      |      |      | f_nl |      |      |
# -----+------+------+------+------+------+------+------
rule  a_ze s_pl x_nl f_ze
rule  a_ze s_pm x_nl f_ze
rule  a_ze s_ps x_nl f_ze
rule  a_ze s_ze x_nl f_ze
rule  a_ze s_ns x_nl f_ns
rule  a_ze s_nm x_nl f_ns
rule  a_ze s_nl x_nl f_nl

rule  a_nl s_ze x_nl f_nl
rule  a_nm s_ze x_nl f_nl
rule  a_ns s_ze x_nl f_ns
rule  a_ps s_ze x_nl f_ze
rule  a_pm s_ze x_nl f_pl
rule  a_pl s_ze x_nl f_pl

rule  a_nm s_pm x_nl f_nl
rule  a_nm s_nm x_nl f_nl
rule  a_pm s_pm x_nl f_pl
rule  a_pm s_nm x_nl f_pl

rule  a_ns s_ps x_nl f_ns
rule  a_ns s_ns x_nl f_ns
rule  a_ps s_ps x_nl f_ze
rule  a_ps s_ns x_nl f_ze

